package graphicsExtended.templates.interfaces;

import java.awt.Image;
import java.awt.Point;
import java.awt.image.BufferedImage;

/**
 *
 * @author Shimu
 * @date 12-Jul-2012
 */
public interface GridObject extends MouseInteractable{
    
    public static final GridObject SENTINEL_OBJECT = new GridObject(){

        public Image getIcon() {
            return new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
        }
        
        public void selected(Point mouseLocation) {
        }

        public void mouseClicked(Point mouseLocation) {
        }

        public void setIcon(Image newImg) {
        }        
    };
    
    /**
     * 
     * @param coordinate the (x, y) coordinate of the cell that was clicked
     */
    @Override
    public void selected(Point cellCoordinate);
    
    /**
     * 
     * @param coordinate the (x, y) coordinate of the cell that was clicked
     */
    @Override
    public void mouseClicked(Point cellCoordinate);
    
}
